Computer platforms typically include a number of semiconductor components that are coupled by way of various interconnects. These interconnects or links are often of different protocols such that communication on the different links occurs at different speeds and according to different protocols. In some systems, communications of an input/output (IO) protocol can be tunneled over another interconnect. Tunneling generally involves taking communications according to a first protocol and providing them through an interconnect that operates according to a second protocol such that the packets of the first protocol are tunneled, e.g., by way of applying a header of the second protocol to packets of the first protocol and sending them along the interconnect. Typically, such protocol tunneling occurs at a very high level such that while the two protocols may have the same software abstraction, there is no shared hardware between the protocols. Thus there is minimal advantage to such tunneling in terms of software compatibility, performance and time to market.